package com.medical.manage.domain.vo;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * @BelongsProject: medical
 * @BelongsPackage: com.medical.manage.domain.vo
 * @Author: szw
 * @CreateTime: 2025-03-14  10:55
 * @Description: TODO
 * @Version: 1.0
 */
@Data
public class ArticleVo {
    //文章id
    @TableId(type = IdType.AUTO)
    private Integer id;
    //用户id
    private Long userId;
    //医生id
    private Long doctorId;
    //标题
    private String title;
    //文章类型（1.创作文章2.案例文章）
    private Integer articleType;
    //文章内容
    private String articleContent;
    //图片
    private String articleImgUrl;
    //点赞数量
    @TableField(exist = false)
    private Integer likeNum;
    //收藏数量
    @TableField(exist = false)
    private Integer collectionNum;
    //浏览数量
    @TableField(exist = false)
    private Integer browseNum;
    //评论数量
    @TableField(exist = false)
    private Integer commentNum;
    //创建时间
    @TableField(fill = FieldFill.INSERT)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;
    //修改时间
    @TableField(fill = FieldFill.INSERT_UPDATE)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updateTime;
    //文章状态
    private Integer state;

    //文章id
    private Integer articleId;
    //话题id
    private Integer topicId;
    //医院id
    private Integer hospitalId;

    //话题id集合
    @TableField(exist = false)
    private List<Integer> topicIds;

    //医院名称
    private String hospitalName;
    //话题名称
    private String topicName;
    //图片
    private String doctorImgUrl;
    //医生姓名
    private String doctorName;
    //医院职称
    private String physician;
    //好评率
    private String positiveRating;
    //服务患者数
    private Integer servingPatientsNum;
    //咨询费用
    private BigDecimal consultationFees;
    //擅长领域
    private String expertiseArea;
    //个人简介
    private String profile;
    //职业经历
    private String professionalExperience;


}
